import fetch from '@/utils/request';

// const ORDER_URL = '/api/user/order';
// const SHOP_ORDER_URL = '/api/user/shop/order';
// /**
//  * 订单API对象
//  * @module ShopOrderApi
//  */
// const ShopOrderApi = {
// 	/**
// 	 * @function buy
// 	 * @description 购买
// 	 * @param  {Object} param ？？？
// 	 */
// 	buy: (param) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/buy`,
// 		method: 'POST',
// 		data: {
// 			param: param
// 		}
// 	}),
// 	/**
// 	 * @function confirm
// 	 * @description 得到缓存中的订单
// 	 */
// 	confirm: () => fetch.request({
// 		url: `${SHOP_ORDER_URL}/confirm`,
// 		method: 'POST',
// 	}),
// 	/**
// 	 * @function shippingMethodSelect
// 	 * @description 设置配送方式
// 	 * @param  {String} method 配送方式
// 	 */
// 	shippingMethodSelect: (method) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/shipping/method/select`,
// 		method: 'POST',
// 		data: {
// 			method: method
// 		}
// 	}),
// 	/**
// 	 * @function receiverSelect
// 	 * @description 设置收货地址
// 	 * @param  {String} receiverId 收货地址Id
// 	 */
// 	receiverSelect: (receiverId) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/receiver/select`,
// 		method: 'POST',
// 		data: {
// 			receiverId: receiverId
// 		}
// 	}),
// 	/**
// 	 * @function storeSelect
// 	 * @description 设置自提门店
// 	 * @param  {String} storeId 门店Id
// 	 */
// 	storeSelect: (storeId) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/store/select`,
// 		method: 'POST',
// 		data: {
// 			storeId: storeId
// 		}
// 	}),
// 	/**
// 	 * @function couponBest
// 	 * @description 设置最佳优惠券
// 	 */
// 	couponBest: () => fetch.request({
// 		url: `${SHOP_ORDER_URL}/coupon/best`,
// 		method: 'POST',
// 	}),
// 	/**
// 	 * @function couponSelect
// 	 * @description 设置指定优惠券
// 	 * @param  {String} userCouponId 优惠券的Id
// 	 * @param  {String} tenantId 优惠券商户Id
// 	 */
// 	couponSelect: (userCouponId, tenantId) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/receiver/select`,
// 		method: 'POST',
// 		data: {
// 			userCouponId: userCouponId,
// 			tenantId: tenantId
// 		}
// 	}),
// 	/**
// 	 * @function couponUsable
// 	 * @description 订单可用优惠券
// 	 */
// 	couponUsable: () => fetch.request({
// 		url: `${SHOP_ORDER_URL}/coupon/usable`,
// 		method: 'POST',
// 	}),
// 	/**
// 	 * @function remarks
// 	 * @description 设置备注
// 	 * @param  {String} receiverId 收货地址Id
// 	 */
// 	remarks: (remarks) => fetch.request({
// 		url: `${SHOP_ORDER_URL}/remarks`,
// 		method: 'POST',
// 		data: {
// 			remarks: remarks
// 		}
// 	}),
// 	/**
// 	 * 设置订单中的支付方式
// 	 */
// 	paymentSelect: (method) => fetch.request({
// 		url: '/api/user/order/payment/method/select',
// 		method: 'POST',
// 		data: {
// 			method: method
// 		}
// 	}),
// 	/**
// 	 * @function book
// 	 * @description 下单
// 	 */
// 	book: () => fetch.request({
// 		url: `${ORDER_URL}/book`,
// 		method: 'POST',
// 	}),



// 	/**
// 	 * 查询用户订单（带有订单明细）
// 	 */
// 	page: (query, param) => fetch.request({
// 		url: '/api/user/order/query',
// 		method: 'POST',
// 		data: {
// 			query: query,
// 			param: param
// 		},
// 	}),
// 	/**
// 	 * 查看订单:带有是否有权限执行相关操作
// 	 */
// 	get: (id) => fetch.request({
// 		url: '/api/user/order/get',
// 		method: 'POST',
// 		data: {
// 			id: id
// 		}
// 	}),
// 	/**
// 	 * 取消订单
// 	 */
// 	cancel: (id) => fetch.request({
// 		url: '/api/user/order/cancel',
// 		method: 'POST',
// 		data: {
// 			id: id
// 		}
// 	}),
// 	/**
// 	 * 退款申请
// 	 */
// 	refund: (id) => fetch.request({
// 		url: '/api/user/order/refund',
// 		method: 'POST',
// 		data: {
// 			id: id
// 		}
// 	}),
// 	/**
// 	 * 退货申请
// 	 */
// 	return: (id) => fetch.request({
// 		url: '/api/user/order/return',
// 		method: 'POST',
// 		data: {
// 			id: id
// 		}
// 	}),
// 	/**
// 	 * 签收订单
// 	 */
// 	receipt: (id) => fetch.request({
// 		url: '/api/user/order/receipt',
// 		method: 'POST',
// 		data: {
// 			id: id
// 		}
// 	}),
// 	/**
// 	 * 订单统计
// 	 */
// 	stat: () => fetch.request({
// 		url: '/api/user/order/stat',
// 		method: 'POST',
// 	}),
// 	/**
// 	 * 查询门店订单
// 	 */
// 	query_store: (query, param) => fetch.request({
// 		url: '/api/store/order/query',
// 		method: 'POST',
// 		data: {
// 			query: query,
// 			param: param
// 		},
// 	}),
// 	/**
// 	 * 核销码核销订单
// 	 */
// 	check_off: (checkOffNo, tenantId, storeId) => fetch.request({
// 		url: '/api/store/order/check_off',
// 		method: 'POST',
// 		data: {
// 			checkOffNo: checkOffNo,
// 			tenantId: tenantId,
// 			storeId: storeId,
// 		},
// 	}),
// };


// export default ShopOrderApi;

// import {
// 	request
// } from '@/utils/request';
import Index from './index.js'

/**
 * 商城订单对象
 * @module ShopOrder
 */
class ShopOrder extends Index {

	constructor(path, shopPath) {
		super(path);
		this.shopPath = shopPath;
	};
	/**
	 * @function buy
	 * @description 购买
	 * @param  {Object} param ？？？
	 */
	buy = (param) => fetch.request({
		url: `${this.shopPath}/buy`,
		method: 'POST',
		data: {
			param: param
		}
	});
	/**
	 * @function confirm
	 * @description 得到缓存中的订单
	 */
	confirm = () => fetch.request({
		url: `${this.shopPath}/confirm`,
		method: 'POST',
	});
	/**
	 * @function shippingMethodSelect
	 * @description 设置配送方式
	 * @param  {String} method 配送方式
	 */
	shippingMethodSelect = (method) => fetch.request({
		url: `${this.shopPath}/shipping/method/select`,
		method: 'POST',
		data: {
			method: method
		}
	});
	/**
	 * @function receiverSelect
	 * @description 设置收货地址
	 * @param  {String} receiverId 收货地址Id
	 */
	receiverSelect = (receiverId) => fetch.request({
		url: `${this.shopPath}/receiver/select`,
		method: 'POST',
		data: {
			receiverId: receiverId
		}
	});
	/**
	 * @function storeSelect
	 * @description 设置自提门店
	 * @param  {String} storeId 门店Id
	 */
	storeSelect = (storeId) => fetch.request({
		url: `${this.shopPath}/store/select`,
		method: 'POST',
		data: {
			storeId: storeId
		}
	});
	/**
	 * @function couponBest
	 * @description 设置最佳优惠券
	 */
	couponBest = () => fetch.request({
		url: `${this.shopPath}/coupon/best`,
		method: 'POST',
	});
	/**
	 * @function couponSelect
	 * @description 设置指定优惠券
	 * @param  {String} userCouponId 优惠券的Id
	 * @param  {String} tenantId 优惠券商户Id
	 */
	couponSelect = (userCouponId, tenantId) => fetch.request({
		url: `${this.shopPath}/coupon/select`,
		method: 'POST',
		data: {
			userCouponId: userCouponId,
			tenantId: tenantId
		}
	});
	/**
	 * @function couponUsable
	 * @description 订单可用优惠券
	 */
	couponUsable = () => fetch.request({
		url: `${this.shopPath}/coupon/usable`,
		method: 'POST',
	});
	/**
	 * @function remarks
	 * @description 设置备注
	 * @param  {String} receiverId 收货地址Id
	 */
	remarks = (remarks) => fetch.request({
		url: `${this.shopPath}/remarks`,
		method: 'POST',
		data: {
			remarks: remarks
		}
	});
}

export default new ShopOrder("/api/user/order", "/api/user/shop/order");